mini web框架-4-路由
dynamic/my_web.py
import time
import os
import re
template_root = "./templates"
g_url_route = dict()
def route(url):
def func1(func):
g_url_route[url] = func
def func2(file_name):
return func(file_name)
return func2
return func1
@route("/index.py") # ----------更新----------
def index(file_name):
"""返回index.py需要的页面内容"""
try:
file_name = file_name.replace(".py", ".html")
f = open(template_root + file_name)
except Exception as ret:
return "%s" % ret
else:
content = f.read()
f.close()
data_from_mysql = "暂时没有数据,请等待学习mysql吧,学习完mysql之后,这里就可以放入mysql查询到的数据了"
content = re.sub(r"\{%content%\}", data_from_mysql, content)
return content
@route("/center.py") # ----------更新----------
def center(file_name):
"""返回center.py需要的页面内容"""
try:
file_name = file_name.replace(".py", ".html")
f = open(template_root + file_name)
except Exception as ret:
return "%s" % ret
else:
content = f.read()
f.close()
data_from_mysql = "暂时没有数据,,,,~~~~(>_<)~~~~ "
content = re.sub(r"\{%content%\}", data_from_mysql, content)
return content
def application(environ, start_response):
status = '200 OK'
response_headers = [('Content-Type', 'text/html')]
start_response(status, response_headers)
file_name = environ['PATH_INFO']
try:
return g_url_route[file_name](file_name)
except Exception as ret:
return "%s" % ret